package com.tjsinfo.tjsoa.documentationflow.dangweifawen.bo;

import java.util.List;

import org.hibernate.criterion.DetachedCriteria;

import com.tjsinfo.tjsoa.documentationflow.dangweifawen.vo.TDangweifawenNeirong;
//import com.tjsinfo.tjsoa.documentationflow.gonghuifawei.vo.TGonghuifaweiNeirong;
import com.tjsinfo.tjsoa.documentationflow.xingzhengfawen.vo.TXingzhengfawenNeirong;
import com.tjsinfo.tjsoa.documentationflow.xingzhengfawen.vo.TaoHongMoBan;
import com.tjsinfo.tjsoa.documentationflow.xingzhengfawen.vo.YinZhang;
import com.tjsinfo.tjsoa.documentationflow.xingzhengshouwen.vo.TXingzhengshouwenNeirong;
import com.tjsinfo.tjsoa.system.vo.Files;



public interface ITDangweifawenNeirongBO {
	/**
	 * 添加党委发文内容
	 * @param 党委发文
	 * @return 党委发文ID
	 */
	public String addTDangweifaweineirong(TDangweifawenNeirong dangweifawenNeirong,String hegaorenid,String fuherenid,
			String zhusongid,String chaosongid,List<Files> list);
	
	public String addqfTDangweifaweineirong(TDangweifawenNeirong dangweifawenNeirong,String huiqian,
			String zhusongid,String chaosongid,List<Files> list);
	/**
	 * 党委直接发文内容
	 */
	public String addTDangweizhijiefaweineirong(
			TDangweifawenNeirong dangweifawenNeirong,String taohongrenid,String zhusongid,String chaosongid,List<Files> list);
	
	/**
	 * 添加党委发文内容
	 * @param 党委发文
	 * @return 党委发文ID
	 */
	public String addTDangweifaweineirong(TDangweifawenNeirong dangweifawenNeirong);
	
	/**
	 * 根据ID查询党委发文
	 * @param id
	 * @return
	 */
	public TDangweifawenNeirong selectOneById(String id);
	
	/**
	 * 根据ID查询行政发文
	 * @param id
	 * @return
	 */
	public Boolean deleteOneById(String id);
	
	/**
	 * 根据ID查询行政发文
	 * @param id
	 * @return
	 */
	public Boolean deleteOneById(String id,Integer taskId);
	
	
	/**
	 * 更新党委发文内容
	 * @param zuzhibufaweiNeirong
	 * @return
	 */
	public Boolean updateTDangweifawenneirong(TDangweifawenNeirong dangweifawenNeirong);
	/**
	 * 示例查询党委发文
	 * @param zuzhibufaweiNeirong
	 * @return
	 */
	public List<TDangweifawenNeirong> findByExample(TDangweifawenNeirong dangweifawenNeirong);
	/**
	 * 查询党委发文的总行数
	 * @return
	 */
	public Integer selectDangweifawenTotalLine();
	
	/**
	 * 查询党委发文的总行数
	 * @return
	 */
	public Integer selectDangweifawenTotalLine(Integer state);
	
	/**
	 * 查询党委发文的总行数
	 * @return
	 */
	public Integer selectDangweifawenTotalLine(Integer state,String biaoti,String wenhao);
	
	/**
	 * 查询党委发文分页
	 * @return
	 */
	public List<TDangweifawenNeirong> selectDangweifawenPage(Integer first,Integer max);
	
	/**
	 * 查询党委发文分页
	 * @return
	 */
	public List<TDangweifawenNeirong> selectDangweifawenPage(Integer first,Integer max,Integer state);
	
	/**
	 * 查询党委发文分页
	 * @return
	 */
	public List<TDangweifawenNeirong> selectDangweifawenPage(Integer first,Integer max,Integer state,String biaoti,String wenhao);
	
	/**
	 * 条件查询党委发文的总行数
	 * @return
	 */
	public Integer selectDangweifawenTotalLineCriteria(DetachedCriteria criteria);
	
	/**
	 * 条件查询党委发文分页
	 * @return
	 */
	public List<TDangweifawenNeirong> selectDangweifawenPageCriteria(DetachedCriteria criteria, Integer first,Integer max);
	
	/**
	 * 根据文号类型查询最大值
	 * @param 文号类型名称
	 * @return
	 */
	public Integer selectDangweifawenMaxNumber(String numbertype);
	
	public Integer selectfawenMaxNumber(String numbertype, String tablename);
	
	/**
	 * 根据用户ID查询用户上级部门发文待办
	 * @param userId
	 * @return
	 */
	public List<TDangweifawenNeirong> selectDangWeiFaWenSuperDaiBanList(Integer subDataBase,Integer dataBaseId, Integer userId,String proname);
	
	/**
	 * 套红模板查询
	 * @param taoHongMoBan
	 * @return
	 */
	public List<TaoHongMoBan> selectTaoHongMoBan(TaoHongMoBan taoHongMoBan);
	
	/**
	 * 印章查询
	 * @param taoHongMoBan
	 * @return
	 */
	public List<YinZhang> selectYinZhang(YinZhang yinZhang);
	
	
	public Boolean deleteTask(Integer taskId);

}
